

  <schema elementFormDefault="qualified" targetNamespace="http://flightvars" xmlns="http://www.w3.org/2001/XMLSchema">
   
   <element name="calculateCancellationFee">
    <complexType>
     <sequence>
      <element name="bookingId" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <element name="calculateCancellationFeeResponse">
    <complexType>
     <sequence>
      <element name="calculateCancellationFeeReturn" type="xsd:float"/>
     </sequence>
    </complexType>
   </element>
   <element name="fault" type="BookingNotFoundException"/>
   <element name="getFlights">
    <complexType>
     <sequence>
      <element name="startDate" type="xsd:dateTime"/>
      <element name="returnDate" type="xsd:dateTime"/>
      <element name="startCity" type="xsd:string"/>
      <element name="targetCity" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <element name="getFlightsResponse">
    <complexType>
     <sequence>
      <element maxOccurs="unbounded" name="getFlightsReturn" type="FlightItinerary"/>
     </sequence>
    </complexType>
   </element>
   <element name="fault1" type="DateIncorrectException"/>
   <element name="bookFlight">
    <complexType>
     <sequence>
      <element name="planeId" type="xsd:int"/>
      <element name="travelDate" type="xsd:dateTime"/>
      <element name="accountNumber" type="xsd:long"/>
     </sequence>
    </complexType>
   </element>
   <element name="bookFlightResponse">
    <complexType>
     <sequence>
      <element name="bookFlightReturn" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <element name="fault2" type="PlaneNotExistsException"/>
   <element name="cancelFlight">
    <complexType>
     <sequence>
      <element name="bookingId" type="xsd:string"/>
      <element name="accountNumber" type="xsd:long"/>
     </sequence>
    </complexType>
   </element>
   <element name="cancelFlightResponse">
    <complexType>
     <sequence>
      <element name="cancelFlightReturn" type="xsd:float"/>
     </sequence>
    </complexType>
   </element>
  
   <complexType name="BookingNotFoundException">
    <sequence/>
   </complexType>
   <complexType name="DateIncorrectException">
    <sequence/>
   </complexType>
   <complexType name="PlaneNotExistsException">
    <sequence/>
   </complexType>
   
   <complexType name="Plane">
    <sequence>
     <element name="arrivalTime" nillable="true" type="xsd:dateTime"/>
     <element name="company" nillable="true" type="xsd:string"/>
     <element name="departureTime" nillable="true" type="xsd:dateTime"/>
     <element name="planeId" nillable="true" type="xsd:int"/>
     <element name="startCity" nillable="true" type="xsd:string"/>
     <element name="targetCity" nillable="true" type="xsd:string"/>
     <element name="tripcost" type="xsd:float"/>
    </sequence>
   </complexType>
   <complexType name="FlightItinerary">
    <sequence>
     <element name="returnPlane" nillable="true" type="Plane"/>
     <element name="startPlane" nillable="true" type="Plane"/>
    </sequence>
   </complexType>
  </schema>
